import { AxiosResponse } from "axios"
import { Result } from "./PublicInterfaces"

/**
 * @description 用户管理子系统接口
 */
export default interface IUserManageHttpApi{

    /**
     * @description 发送email验证码
     * @path /user_manage/post_email_code
     * @param user_email 
     */
    PostEmailCode(    
        user_email:string
    ): Promise<null>

    /**
     * @description 发送手机验证码
     * @path /user_manage/post_mobile_code
     * @param user_tel 
     */
    PostMobileCode(
        user_tel:string
    ): Promise<null>

    /**
     * @description 邮箱注册接口
     * @path /user_manage/register_by_email
     * @param user_name 
     * @param user_email 
     * @param user_password 
     * @param code 
     */
    UserRegisterByEmail(
        user_name:string, // 用户名
        user_email:string, // 用户电子邮箱地址
        user_password:string, // 用户设置的密码
        code:string // 验证码
    ): Promise<null>

    /**
     * @description 手机号注册接口
     * @path /user_manage/register_by_mobile
     * @param user_name 
     * @param user_tel 
     * @param user_password 
     * @param code 
     */
    UserRegisterByMobile(
        user_name:string, // 用户名
        user_tel:string, // 用户绑定的电话号码
        user_password:string, // 用户设置的密码
        code:string // 验证码
    ): Promise<null>

    

    /**
     * @description 激活权限接口
     * @path /user_manage/activate
     * @need token 
     * 
     * @returns string: activate_code
     */
    UserActivate(): Promise<string>
    /**
     * @description 登录接口
     * @path /user_manage/login
     * @param user_email 
     * @param user_tel 
     * @param user_password 
     */
    UserLogin(
        user_email:string,
        user_tel:string,
        user_password:string
    ): Promise<null>

    /**
     * @description 获取自己用户的信息
     * @path /user_manage/personal_info
     * @need token 
     */
    GetUserInfo():Promise<null>// 待补充
}
